package 小测试;

/**
 * Created by Administrator on 2017/8/12.
 */
class Base {
    public Base (){
        //...
    }
    public Base ( int m ){
        //...
    }
    public void fun( int n ){
        //...
    }
}

public class 方法重写 extends Base {
    //不可以有的方法：
/*    private void fun( int n ){
        //A
    }  */
/*    void fun( int n ){
        //B
    }*/
/*    protected void fun( int n ){
        //C
    }*/
    //可以有的方法：
    public void fun( int n ){
        //D
    }

// A，B，C都会提示如下信息：
// Cannot reduce the visibility of the inherited method from Base
// 意思就是告诉你：不能降低从基类继承的方法的可见性。
// 那么，为什么不能降低可见性呢？
// 因为，每个子类的实例都应该是一个基类的有效实例，如果降低了方法的可见性，
// 那么就相当于子类失去了一个父类的方法，这个时候，父类将不是一个有效的基类。
}
